package 笔试.a空白.a;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;

public class Main2 {
    static int[] p;
    static List<List<Integer>> res = new ArrayList<>();
    static List<Integer> tmp = new ArrayList<>();
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        String[] s = sc.nextLine().split(", ");
        int  tS= sc.nextInt(),fi=0;
        p = new  int[s.length];
        for (int i = 0; i < p.length; i++) {
            p[i]=Integer.parseInt(s[i]);
        }
        if(p.length==0 || p==null){
            System.out.println(-1);
            return;
        }

        Arrays.sort(p);
        qpl(tS,fi);
        int min=99999;
        for (int i = 0; i < res.size(); i++) {
            min = Math.min(res.get(i).size(), min);
        }
        System.out.println(min==99999?-1:min);

    }


    //记具体拿法 fi+全排列
    static void qpl(int tS, int fi) {
        if(tS<=0){
            if(tS==0) res.add(new ArrayList<>(tmp));
            return;
        }
        for (int i = 0; i < p.length; i++) {
            if(i<fi)continue;
            tmp.add(p[i]);  qpl(tS-p[i],i);  tmp.remove(tmp.size()-1);
        }
    }
 }
 /*

11
12, 2
11

  */
